
R version 2.9.2 (2009-08-24)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> kamatlab=0.08
> volatilitas=0.23
> u=exp(volatilitas*sqrt(1/360)) 
>  d=exp(-volatilitas*sqrt(1/360))
>  p= (exp(kamatlab*(1/360))-d)/(u-d)
> 
> 
>  MonteCarlo<-function(elemszam){  ## fggvny deklarls
+ t_t=0.5  ## a lejratig htralv id
+  f=c()   ## lista deklarls
+  for (i in 1:elemszam){
+  epszilon<- rbinom(180, 1, p)  ## Bernoulli-eloszls generlsa binomilis-eloszls segtsgvel(els paramter hogy hny db-ot generljon, a msodik paramternek 1-nek kell lennie, hiszen gy lesz Bernoulli, a harmadik paramter a valsznsg)
+  valtozo<-d+(u-d)*epszilon## ez biztostja a felfel/lefel mozdulst, lthat amennyiben az epszilon rtke 1 akkor a valtozo rtke u lesz, teht a rszvnyrfolyam felfel mozdul el, ha 0 akkor a valtozo rtke d lesz, gy lefel mozdul el az rfolyam
+ 
+  f[i]=max(700-(661*(prod(valtozo))),0) #rszvnyrfolyam generls, kiszmtjuk a kifizetst
+  atlag<-mean(f)#tlagoljuk  kifizetseket
+  opciosdij=(exp((-kamatlab)*t_t)*atlag ) #diszkontljuk az elz tlagot
+  opciosdij}
> 
> library(fOptions) #betlti az fOption csomagot.
Loading required package: timeDate
Loading required package: timeSeries
Loading required package: fBasics
Loading required package: MASS
Rmetrics Package fOptions (2100.76) loaded.
> 
> print('A formulval kapott r:')
[1] "A formulval kapott r:"
> 
> CRRBinomialTreeOption(TypeFlag= "pe",S=661,X=700,Time=0.5, r=0.08, b=0.08, sigma=volatilitas,n=180)@price
[1] 49.27583
> 
> print('A szimulci: ')
[1] "A szimulci: "
 > MonteCarlo(1000)
[1] 48.28576 
> MonteCarlo(5000)
[1] 49.09491
 > MonteCarlo(20000)
[1] 49.12511
> MonteCarlo(40000)
[1] 49.17352

